﻿using System;
using System.Windows;

namespace LASGui.Views
{
    public partial class CustomChildWindow
    {
        public int Tipo { get; set; }
        public double MontoTipoCambio { get; set; }
        public int Estado { get; set; }
        public DateTime FechaIntermedio { get; set; }
        public String OtroMensaje { get; set; }
        public event EventHandler OkClicked;

        #region Constuctores
        public CustomChildWindow(Exception e)
        {
            InitializeComponent();
            Tipo = 3;
            if (e != null)
            {
                ErrorTextBox.Text = e.Message + Environment.NewLine + Environment.NewLine + e.StackTrace;
            }
        }

        public CustomChildWindow(Uri uri)
        {
            InitializeComponent();
            Tipo = 3;
            if (uri != null)
            {
                ErrorTextBox.Text = "La siguiente página no fue encontrada: \"" + uri.ToString() + "\"";
            }
        }

        public CustomChildWindow(string message, string details)
        {
            InitializeComponent();
            Tipo = 3;
            ErrorTextBox.Text = message + Environment.NewLine + Environment.NewLine + details;
        }

        public CustomChildWindow(string message)
        {
            InitializeComponent();
            ErrorTextBox.Text = message;
            OkButton.IsEnabled = false;
            Tipo = 3;

        }

        public CustomChildWindow(string message1, string message2, int tipo, DateTime fecha)
        {
            InitializeComponent();
            ErrorTextBox.Text = message1;
            FechaInicio.DisplayDate = fecha;
            FechaFinal.DisplayDate = fecha;
            OtroMensaje = message2;
            Tipo = tipo;
            PanelMonto.Visibility = Visibility.Visible;
            Estado = 1;
            FechaIntermedio = fecha;
        } 
        #endregion

        /// <summary>
        /// Evento que se dispara con al presionar el botón de OK
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void OkButtonClick(object sender, RoutedEventArgs e)
        {
            if (Tipo == 3)
            {
                DialogResult = true;
            }
            else
            {
                OkClicked(this, new EventArgs());
            }
        }
    }
}